Skip to content
This repository has been archived by the owner on Dec 7, 2023. It is now read-only.

Completely restructure & document the kernel image build #506

Merged
merged 5 commits into from
Feb 17, 2020

Conversation

luxas
Copy link
Contributor

@luxas luxas commented Jan 20, 2020

Also adding the latest LTS

cc @chanwit @stealthybox

@luxas
Copy link
Contributor Author

luxas commented Feb 5, 2020

ping @stealthybox @chanwit please merge this PR, so we can unblock #511

KERNEL_VERSION ?= 4.19.47
KERNEL_EXTRA ?=
# Check https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/refs/ for updates
KERNEL_VERSIONS ?= 4.14.166 4.19.97 5.4.13
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noting that these will not overwrite the old images @ https://hub.docker.com/r/weaveworks/ignite-kernel/tags since they are all version bumps 👍

Copy link

@taqtiqa-mark taqtiqa-mark Feb 6, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apologies in advance ... I'm just getting my head around Ignite - by spec'ing and writing a Cheff Cookbook to install ignite and ignited:
Is there a Linux kernel dependency to take into consideration when installing Ignite?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@taqtiqa-mark these kernel versions are for the VM guests that ignite runs. They're distributed as OCI images so you don't have to worry about installing them.

For installing ignite, you need a linux host capable of meeting Firecrackers minimum runtime dependencies.
Currently, that is a host with Linux Kernel 4.14 or newer and KVM enabled:

Please see our documented requirements:

images/kernel/README.md Outdated Show resolved Hide resolved
$ make upgrade
```

after you've upgraded the values in the Makefile.
Copy link
Contributor

@stealthybox stealthybox Feb 6, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
after you've upgraded the values in the Makefile.
after you've set new `KERNEL_VERSIONS` in the Makefile or changed `./config-patches`.
This will generate new patched configs for each version.
Older kernel versions should be deleted from `generated/` and `versioned/` when checking in new ones.

Comment on lines +8 to +9
for file in generated/*; do \
./upgrade-config.sh $$file $$file; done
Copy link
Contributor

@stealthybox stealthybox Feb 6, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you help me understand why this is here?
I'm reading that this runs

     make clean && make mrproper && cp /tmp/.config . && \
     make EXTRAVERSION="" LOCALVERSION= olddefconfig

on the patched config as the input.
That output then overwrites the input patched config.

Does this cleanup or do something to the generated/patched config that changes it?
Thanks 👍

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This basically sanitizes, reorganizes and formats (overwrites) the kernel config for the final generated configs

done
}

for file in ./versioned/*; do
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps this loop on all versioned configs should be moved to a loop in the Makefile.
That loop could be written to only include files that are in the intended KERNEL_VERSIONS.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Future improvements IMO, let's get ARM support merged first

@stealthybox
Copy link
Contributor

Thanks for building this -- it's really nicely done.

luxas and others added 4 commits February 14, 2020 21:06
Co-Authored-By: leigh capili <stealthybox@users.noreply.github.com>
Co-Authored-By: leigh capili <stealthybox@users.noreply.github.com>
Co-Authored-By: leigh capili <stealthybox@users.noreply.github.com>
Co-Authored-By: leigh capili <stealthybox@users.noreply.github.com>
@luxas
Copy link
Contributor Author

luxas commented Feb 14, 2020

Ready to merge!
The CI failure is unrelated, and can/should be fixed in an other PR

@stealthybox stealthybox merged commit edfdea7 into weaveworks:master Feb 17, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants